From 0e5358561ac8671d096e19d3d5001a426733d56c Mon Sep 17 00:00:00 2001 From: "cl349@freefall.cl.cam.ac.uk" Date: Fri, 23 Jul 2004 11:16:35 +0000 Subject: [PATCH] bitkeeper revision 1.1125 (4100f393WAo42w5ww75pCOZ8hRPj6Q) more code rearranging --- xen/arch/x86/memory.c | 43 ++++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/xen/arch/x86/memory.c b/xen/arch/x86/memory.c index 99fe44bd4e..3ab9ff2954 100644 --- a/xen/arch/x86/memory.c +++ b/xen/arch/x86/memory.c @@ -1288,6 +1288,9 @@ void ptwr_reconnect_disconnected(unsigned long addr) _PAGE_PRESENT); pl1e = map_domain_mem(l2_pgentry_to_pagenr(nl2e) << PAGE_SHIFT); for ( i = 0; i < ENTRIES_PER_L1_PAGETABLE; i++ ) { + if (likely(l1_pgentry_val(pl1e[i]) == + l1_pgentry_val(ptwr_disconnected_page[cpu][i]))) + continue; if (likely((l1_pgentry_val(pl1e[i]) ^ l1_pgentry_val(ptwr_disconnected_page[cpu][i])) == _PAGE_RW)) { @@ -1301,18 +1304,16 @@ void ptwr_reconnect_disconnected(unsigned long addr) if (likely(readonly_page_from_l1e(pl1e[i]))) continue; } - if (l1_pgentry_val(pl1e[i]) != l1_pgentry_val(ptwr_disconnected_page[cpu][i])) { #if 0 - printk("%03x: %08lx != %08lx\n", i, - l1_pgentry_val(ptwr_disconnected_page[cpu][i]), - l1_pgentry_val(pl1e[i])); + printk("%03x: %08lx != %08lx\n", i, + l1_pgentry_val(ptwr_disconnected_page[cpu][i]), + l1_pgentry_val(pl1e[i])); #endif - if (unlikely(l1_pgentry_val(ptwr_disconnected_page[cpu][i]) & - _PAGE_PRESENT)) - put_page_from_l1e(ptwr_disconnected_page[cpu][i]); - if (unlikely(!get_page_from_l1e(pl1e[i]))) - BUG(); - } + if (unlikely(l1_pgentry_val(ptwr_disconnected_page[cpu][i]) & + _PAGE_PRESENT)) + put_page_from_l1e(ptwr_disconnected_page[cpu][i]); + if (unlikely(!get_page_from_l1e(pl1e[i]))) + BUG(); } unmap_domain_mem(pl1e); update_l2e(pl2e, *pl2e, nl2e); @@ -1367,6 +1368,9 @@ void ptwr_flush_inactive(void) pl1e = map_domain_mem(pfn << PAGE_SHIFT); for ( i = 0; i < ENTRIES_PER_L1_PAGETABLE; i++ ) { + if (likely(l1_pgentry_val(pl1e[i]) == + l1_pgentry_val(ptwr_writable_page[cpu][idx][i]))) + continue; #if 0 if ((l1_pgentry_val(pl1e[i]) ^ l1_pgentry_val(ptwr_writable_page[cpu][idx][i])) == _PAGE_RW) { @@ -1381,19 +1385,16 @@ void ptwr_flush_inactive(void) continue; } #endif - if (l1_pgentry_val(pl1e[i]) != - l1_pgentry_val(ptwr_writable_page[cpu][idx][i])) { #if 0 - printk("%03x: %08lx != %08lx\n", i, - l1_pgentry_val(ptwr_writable_page[cpu][idx][i]), - l1_pgentry_val(pl1e[i])); + printk("%03x: %08lx != %08lx\n", i, + l1_pgentry_val(ptwr_writable_page[cpu][idx][i]), + l1_pgentry_val(pl1e[i])); #endif - if (unlikely(l1_pgentry_val(ptwr_writable_page[cpu][idx][i]) & - _PAGE_PRESENT)) - put_page_from_l1e(ptwr_writable_page[cpu][idx][i]); - if (unlikely(!get_page_from_l1e(pl1e[i]))) - BUG(); - } + if (unlikely(l1_pgentry_val(ptwr_writable_page[cpu][idx][i]) & + _PAGE_PRESENT)) + put_page_from_l1e(ptwr_writable_page[cpu][idx][i]); + if (unlikely(!get_page_from_l1e(pl1e[i]))) + BUG(); } unmap_domain_mem(pl1e); -- 2.30.2